#pragma once
#include "agent.h"

class CCarAgent : public CAgent
{
public:
    CCarAgent(int id, CPath* path);
    ~CCarAgent(void);
    virtual bool Step(CEnv* env, int ms);
    void SetPath(CPath* path);
    CNodePtrVec* GetPathVector();
    double GetTrafficModifier();

protected:
    CPath* m_path;
    CNodePtrVecIter m_itPath;

    CCarAgent(int id, CNode* node, EAgentType type);
    CNode* GetNextNode();
    void UpdatePosition(int pps, int ms);
    double GetModifier(CNode* to, int traffic);
};
